// pages/rank/index.js
const api = require('../../utils/api')
const util = require('../../utils/util')
const app = getApp()

Page({

    /**
     * 页面的初始数据
     */
    data: {
        rankType: app.globalData.rankType, //排位类型
        data: null, //赛季信息
        list: [], //段位列表
        startTime: '', //赛季开始时间
        endTime: '', //赛季结束时间
        userRank: null, //用户段位信息
        userCurrentIndex: -1, //用户所在段位下标
        userCurrentRank: null, //用户所在段位信息
    },
    /**
     * 筛选用户对应段位信息
     */
    currentRankFilter: function (arr) {

        let userRank = this.data.userRank
        console.log(userRank)
        console.log(arr)
        arr.map((value, index) => {
            if (value._id === userRank.rankid) { //userRank.rankid,'5c1ccba2173b3b142c2bc3ba'
                this.setData({
                    userCurrentIndex: index,
                    userCurrentRank: value,
                    userRank,
                })
            }
        })
    },
    /***
     *进入排位
     */
    action: function (e) {

        let item = e.currentTarget.dataset.item,
            url = '/pages/questions/index'
        app.globalData.rankListItem = item || null

        if (item.name != this.data.userRank.rankName) return;
        wx.navigateTo({
            url,
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {},

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

        let rankType = app.globalData.rankType //排位赛类型 knowledge:知识排位 qualify:资质排位
        //请求用户段位信息
        api.post('/init/userRank')
            .then(res => {
                switch (rankType) {
                    case 'knowledge':
                        this.setData({
                            userRank: res.data.rankKnowledge
                        })
                        break;
                    case 'qualify':
                        this.setData({
                            userRank: res.data.rankQualify
                        })
                        break;
                }

                //请求排位信息
                api.post('/init/rankInit').
                then(res => {
                    switch (rankType) {
                        case 'knowledge':
                            //筛选用户对应段位信息
                            this.currentRankFilter(res.data.knowledgeRank)
                            this.setData({
                                data: res.data.lastKnowledge,
                                list: res.data.knowledgeRank,
                                startTime: util.formatTime2Date(new Date(res.data.lastKnowledge.startTime)),
                                endTime: util.formatTime2Date(new Date(res.data.lastKnowledge.endTime))
                            })
                            break;
                        case 'qualify':

                            //筛选用户对应段位信息
                            this.currentRankFilter(res.data.qualifyRank)
                            this.setData({
                                data: res.data.lastQualify,
                                list: res.data.qualifyRank,
                                startTime: util.formatTime2Date(new Date(res.data.lastKnowledge.startTime)),
                                endTime: util.formatTime2Date(new Date(res.data.lastKnowledge.endTime))
                            })
                            break;
                    }
                })

            })

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})